#ifndef RESPONSE_GET_LIST_H_INCLUDED
#define RESPONSE_GET_LIST_H_INCLUDED

/**
* @file response_get_list.h
*
*	 Nel file response_get_list.h viene definita la classe che gestisce la comunicazione
*	 tra il Service Provider che offre il servizio di Get_List ed il Client
*	
* @author Favale Angelo
* @author Fagioli Alessio
*
* @version 1.0
*/

#include "libreria.h"
/**
* @class Response_Get_List
*
*	 La classe Response_Get_List gestisce la comunicazione tra il Service Provider ed il
*	 client che vuole richiedere il servizio di Get_List
*/
class Response_Get_List
{
	private:
		char name [BUFFER_SIZE]; /**< Nome del Servizio (Get_List)  	   	*/
		host entita;		 /**< Mantiene informazioni sull'entità con cui 
					 *    deve scambiare informazioni		*/
	public:
		/**
		* Il costrutture carica le informazioni riguardanti l'entità con cui deve 
		* comunicare
		*/
		Response_Get_List(host);

		/**
		* @return true se il messaggio contenente il servizio richiesto è stato
		*	  inviato correttamente al Service Provider, false altrimenti
		*
		* Questo metodo permette al client di richiedere al Service Provider il
		* servizio di Get_List
		*/
		bool code_request();

		/**
		* @param buffer Messaggio contenente la lista delle immagini gestite dal
		*		Service Provider
		*
		* @return true se la lista delle immagini è stata inviata con successo, false
		*	  altrimenti
		*
		* Questo metodo permette al Service Provider inviare al client la lista delle
		* immagini che gestisce.
		*/
		bool code_response(char * buffer);

		/**
		* @return true se la lista delle immagini è stata ricevuta con successo,
		*	  false altrimenti
		*
		* Questo metodo permette al client di ricevere la lista delle immagini
		* presente sul Service Provider.
		* Questa lista viene quindi stampata a video sul lato client
		*/
		bool decode_response();	
} ;
#endif
